package hu.bme.mit.inf.expendables.restservices;

import javax.ws.rs.*;
import javax.ws.rs.core.*;

import com.sun.jersey.multipart.FormDataParam;

@Path("/developer")
public interface IDeveloperService {
	
	@POST
	@Path("/uploadapp")
	@Consumes(MediaType.MULTIPART_FORM_DATA)
	@Produces(MediaType.TEXT_PLAIN)
	public Response uploadApp(@FormDataParam("file") com.sun.jersey.core.header.FormDataContentDisposition fileDetail, @QueryParam("appmetadataid") long appMetadataId, @FormDataParam("file") java.io.InputStream uploadedInputStream, @QueryParam("userid") long userId);
	
	
	@POST
	@Path("/uploadnewappmetadata")
	@Produces(MediaType.TEXT_PLAIN)
	public Response uploadnewAppMetadata(@FormParam("appname") String appName, @FormParam("version") String version, @FormParam("description") String description, @FormParam("category") String category, @FormParam("price") float price, @FormParam("agelimit") int ageLimit, @FormParam("userid") long userId);
	
	
	@POST
	@Path("/updateexistingappmetadata")
	@Produces(MediaType.TEXT_PLAIN)
	public Response updateExistingAppMetadata(@FormParam("appname") String appName, @FormParam("version") String version, @FormParam("description") String description, @FormParam("category") String category, @FormParam("price") float price, @FormParam("appmetadataid") long appMetadataId, @FormParam("agelimit") int ageLimit, @FormParam("userid") long userId);
	
	
	@GET
	@Path("/viewdevelopedapps")
	@Produces(MediaType.TEXT_PLAIN)
	public Response viewDevelopedApps(@QueryParam("userid") long userId);
	
}
